Repository navigation
Read the BytePlus image table under its annotated header (#640) - #642
Conversation
The ModelArk pricing page added a note line to the "Output image" header
and reworded Seedream 5.0 pro's pixel tiers ("P ≤ 2.61 million"), so the
image table matched no header and every poll threw "parsed 0 model rows".
The output column is now the one header starting "Output image", and the
tier pattern follows the new wording. Still fail-closed: no table, or a
row in any other wording, yields no price. Fixture is the image table cut
verbatim from the page on 2026-11-13.
|
|
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
Fixes #640.
What changed on the page
Read from https://docs.byteplus.com/en/docs/ModelArk/1544106 on 2026-11-13:
Output imageheader gained a note line ("P is the total pixel count of a single output image."). The header no longer matched, so no image table was found and every poll threwbyteplus pricing page (images): parsed 0 model rows.P ≤ 2.61 million (1.5K or lower): $0.045 P > 2.61 million (higher than 1.5K): $0.09(was "Up to 2.61 million pixels … More than …").Fix
imageRows(shared byparseByteplusImagesandparseByteplusPixelTiers) takes the output column as the single header starting "Output image".PIXEL_TIER_OUTPUTfollows the new wording. The old wording is gone from the page, so it is not kept.assertParsed.fixtures/byteplus-pricing-images.jsonis the image table cut verbatim from the live doc (row, column and cell zones).Run against the full live page: chat 14, video 7, images 5, pixel tiers 1.
Not fixed here
pricing_lost/parser_missevents are not a parser miss. The page dropped its folded "Retiring models" section. Eight rows that hold a stored card no longer have a row:deepseek-v3-2-251201,glm-4-7-251222,seed-1-6-250915,seed-1-6-flash-250715,seed-1-8-251228,seed-2-0-lite-260228,seed-2-0-mini-260215,seedance-1-5-pro-251215(8 per poll x ~50 polls = 400). All eight are on the model deprecation notice. Stored cards are kept and the event will keep firing each poll until that is decided separately.dola-seedream-5-5-261028stays unpriced (it has no stored card). Its row is a new shape:$0.008per input image and two bounded pixel tiers. The parser warns and skips it.Checks
bun run test src/server/providers/byteplus-pricing.test.ts src/server/providers/byteplus.test.ts(43 passed),bun run typecheck,bun --bun run lint,bun --bun run check. Nopackages/*change, so no changeset.Summary by CodeRabbit